www.gusucode.com > ROCKOA PHP协同办公OA办公系统 v2.0PHP源码程序 > ROCKOA PHP协同办公OA办公系统 v2.0/rockoa_v2.0/rockoa_v2.0/webrock/index/indexscript.js
Ext.BLANK_IMAGE_URL ='images/white.gif'; Ext.Loader.setPath('Ext.rock', 'webrock/extjs/rock'); Ext.Loader.setPath('Ext.ux', 'webrock/extjs/ux'); var menuTree,menuTabs,nowtab,webimwinobj; function gicons(i){ return 'mode/icons/'+i+'.png'; } function publicstore(mo,dos,oans){ if(!mo)mo='index'; if(!dos)dos=''; return js.getajaxurl('publicstore',mo,dos,oans); } function publiccheckstore(mo,dos,oans){ if(!mo)mo='index'; if(!dos)dos=''; return js.getajaxurl('publiccheckstore',mo,dos,oans); } function publicsave(mo, dos,oans){ if(!mo)mo='index'; if(!dos)dos=''; return js.getajaxurl('publicsave',mo,dos,oans); } function publictreestore(cans,mo,dos){ if(!mo)mo='index'; if(!dos)dos=''; return js.getajaxurl('publictreestore',mo,dos,cans); } function getcmp(aId){ return Ext.getCmp(aId); } function renderbox(v,r){ var da = r.column.boxdata; if(!da)da=[['#888888','×'],['green','√']]; return '<font color='+da[v][0]+'>'+da[v][1]+'</font>'; } function rendercont(v, m){ if(isempt(v))v=''; v = v.replace(/\n/gi,'<br>'); m.tdAttr = 'data-qtip="'+v+'"'; return v; } function getrand(){ var r = js.getrand(); return r; } function winopt(cans){ var opt = {closeAction:'hide',width:400,maximizable:true,collapsible:true,modal:false,layout: 'fit'}; Ext.apply(opt,cans); return opt; } var bitian = '<font color=red>*</font>'; var indexxu = -1; var rock = []; function closetabs(num1){ var num = 'tabs_'+num1+''; var bo = true; if(getcmp(num)){ menuTabs.setActiveTab(num); menuTabs.remove(num); } return bo; } function addtabs(title,url,num1,opts){ if(isempt(url)){ js.msg('msg','没有设置访问地址'); return; } if(!num1)num1=js.getrand(); var num = 'tabs_'+num1+'',dir,mode; if(!closetabs(num1))return; var rand = js.getrand(),i,oi=2; var ura = url.split(','); dir = ura[0]; mode= ura[1]; url =''+PROJECT+'/'+dir+'/'+mode+'/ext_'+mode+''; if(ura[2]){ if(ura[2].indexOf('=')<0){ oi=3; url+='_'+ura[2]+''; } } url+='script.js'; var urlpms={}; for(i=oi;i<ura.length;i++){ var nus = ura[i].split('='); urlpms[nus[0]]=nus[1]; } indexxu++; var loaders = { url: url,autoLoad:true,scripts:false,renderer:function(l,v){return true;},indexss:indexxu, failure:function(a, v){ var parsent = a.getTarget(); parsent.getEl().unmask(); var s = '<div style="padding:50px;font-size:20px;line-height:50px">'+v.status+', '+v.statusText+', 加载出错。。。<br>URL:'+url+'</div>'; parsent.update(s); }, success:function(a,v){ var s = v.responseText,can,cas,parsent,len,fun,funs,init,i,tabson; var index = a.indexss; parsent = a.getTarget(); parsent.removeAll(); parsent.getEl().unmask(); parsent.update(''); try{ if(s.indexOf('panel')<0)s=jm.uncrypt(s); s = s.replace(/\[rock\]/gi, 'rock['+index+']'); s = s.replace(/BT/g, bitian); fun = new Function('rand','index','params','objpanel','dir','mode',s)(rand, index, urlpms, parsent,dir,mode); funs= js.apply({panel:false,init:false},fun); cas = funs.panel; init= funs.init; tabson= funs.tabson; }catch(e){ js.getarr(e); return; } if(typeof(cas)=='object'){ len = cas.length; if(isNaN(len)){ can = {region:'center',id:'main_'+rand+'_0'}; Ext.apply(can,cas); parsent.add(can); rock[index]=parsent.down(); }else{ for(i=0;i<len;i++)if(!cas[i].id)cas[i].id='main_'+rand+'_'+i+''; parsent.add(cas); if(len==1){ rock[index]=getcmp(cas[0].id); }else{ rock[index]=[]; for(i=0;i<len;i++){ rock[index][i]=getcmp(cas[i].id); } } } } if(typeof(init)=='function'){ init(parsent); } if(typeof(tabson)=='object'){ parsent.on(tabson); } } }; var pad = 5; if(num1=='home')pad=0; var pan={ xtype:'panel',border:false,padding:pad,title:title,closable:true,autoScroll: false,layout:'border',rand:rand, bodyStyle:'background:white;',html:'',id:num,loader:loaders,num:num1,urlstr:url }; Ext.apply(pan,opts); menuTabs.add(pan).show(); menuTabs.setActiveTab(num); nowtab.getEl().mask('加载中...'); } function reloadtabs(num){ var tas = getcmp('tabs_'+num+''); tas.getEl().mask('加载中...'); var o1=tas.getLoader(); o1.load(); } function createindex(){ Ext.tip.QuickTipManager.init(); rockoption = Ext.create('Ext.rock.option'); wherewindows = Ext.create('Ext.rock.where'); uploadwindows = Ext.create('Ext.rock.upload'); var menubool = true; var tempnode; function opencheck(a1){ var url = tempnode.url, num = tempnode.num, txt = tempnode.text, lx = a1.lx; url+=',opentype='+lx+''; num+=''+lx+''; txt+='['+a1.text+']'; addtabs(txt, url, num); } var omenu=Ext.create('Ext.menu.Menu',{ items:[{ text:'申请',icon:gicons('pencil'),lx:0,handler:opencheck },'-',{ text:'审核',lx:1,handler:opencheck,icon:gicons('check') },'-',{ text:'查询',lx:2,icon:gicons('zoom'),handler:opencheck }] }); function menuclick(view, record, item, index, e,obj){ var node= record.raw,icon=''; if(!record.isLeaf()){ if(record.isExpanded()){ record.collapse(); }else{ record.expand(); } return; }else if(node.ischeck=='1'){ tempnode = node; omenu.showAt(e.xy); return; } if(!isempt(node.icons))icon=gicons(node.icons); addtabs(node.text, node.url, node.num,{icon:icon}); } function fullscreen(a){ var s = a.text,bo=false; if(s=='全屏'){ a.setText('退出全屏'); a.setIcon(gicons('arrow_in')); $('#main_top').hide(); }else{ a.setText('全屏'); a.setIcon(gicons('arrow_out')); bo = true; $('#main_top').show(); } getcmp('index_top').setVisible(bo); getcmp('index_menu').setVisible(bo); } function benreload(a){ reloadtabs(nowtab.num); } function showmenula(nobj, reb){ menuTree = nobj.down('treepanel'); if(!nobj.loadbool || reb){ nobj.getEl().mask('加载中...') var url = js.getajaxurl('getmenu','index','',{pid:nobj.pid}); $.get(url, function(da){ menuTree.getStore().setRootNode({children:Ext.decode(da)}); nobj.getEl().unmask(); }); } nobj.loadbool = true; } var menuitems = [],menuarrs=[]; for(var i=0;i<topmenu.length;i++){ var stoee = Ext.create('Ext.data.TreeStore',{ fields:['name'], root:{children:[],expanded: true} }); var tritem = { xtype:'treepanel',rootVisible: false,autoScroll: true,store:stoee,border:false,columns:[{xtype: 'treecolumn',text:'名称',flex:1,align:'left',dataIndex:'name'}],hideHeaders:true,listeners:{itemclick:menuclick} }; menuarrs.push({ text:topmenu[i].name,icon:gicons(topmenu[i].icons) }); menuitems.push({ title:topmenu[i].name,layout:'fit',itemId:'menuTree_'+topmenu[i].id+'',pid:topmenu[i].id,poixu:i,xtype:'panel',items:tritem,icon:gicons(topmenu[i].icons),listeners:{ expand:function(np){ showmenula(np); } } }); } Ext.create('Ext.Viewport',{ layout:'border', padding:0, items: [{ region: 'north',height: 60, html: '<div class="topbg" style="height:60px;overflow:hidden;"></div>', id:'index_top',border:false,bodyStyle:'border-bottom-width:0px' },{ region: 'west',title: '菜单导航',id:'index_menu', bodyStyle:'border-bottom-width:0px;', collapsible: true,width: 200,maxWidth:500,minWidth:200,split: true,rootVisible: false,autoScroll: true, layout: { type: 'accordion', titleCollapse: true, animate: true, activeOnTop: false,collapseFirst:true }, items:menuitems, tools:[{ type:'refresh',handler:function(){showmenula(menuTree.up('panel'), true)},tooltip:'刷新' },{ type:'expand',tooltip:'全部展开',handler:function(){menuTree.expandAll()} },{ type:'collapse',tooltip:'全部收起',handler:function(){menuTree.collapseAll()} }] },menuTabs = Ext.create('Ext.TabPanel',{ xtype:'tabpanel', region:'center',resizeTabs: true,enableTabScroll:true,activeTab:0, bodyStyle:'border-bottom-width:0px;', items:[], listeners:{ tabchange:function(old, newa){ nowtab = newa; var title = ''+systemtitle; if(nowtab.num != 'home')title = nowtab.title+'_'+systemtitle; document.title = title; } } }),{ id:'index_bottom',region:'south',xtype:'toolbar', items:[{ icon:gicons('user'),text:'用户:'+adminuser+'',showSeparator:false },'-','登录次数:'+adminloginci+'','->','技术支持:<a href="http://www.xh829.com" target="_blank" class="a">ROCKOA技术</a>','-',{ text:'首页项',id:'index_btn_homeitems',icon:gicons('application_view_tile') },'-',{ text:'重新加载',icon:gicons('arrow_refresh'),handler:benreload },'-',{ text:'全屏',icon:gicons('arrow_out'),handler:fullscreen }] }] }); addtabs('首页','index,home','home',{closable:false,icon:gicons('house')}); showmenula(getcmp('index_menu').down('#menuTree_'+topmenu[0].id+'')); function loadmenuid(id,na){ if(menubool)return; menuTree.setTitle(na); menubool = true; menustore.proxy.extraParams.pid=id; menustore.reload(); } var s1 = '',s2='',s3=''; s2 = '<table border="0" cellspacing="0" cellpadding="0"><tr>'; s2+='<td><div style="height:40px;overflow:hidden;margin:0px 10px"><img align="absmiddle" src="'+systemlogo+'" width="40" height="40"></div></td>'; s2+='<td><i><b style="font-size:25px;" >'+systemtitle+'</b></i></td>'; s2+='<td width="20"></td>'; s2+='</tr></table>'; s3 = '<table border="0" cellspacing="0" cellpadding="0"><tr>'; s3+='<td><div style="height:40px;overflow:hidden;margin:0px 10px"><img style="border:1px #cccccc solid;background:#ffffff;border-radius:19px;cursor:pointer;" align="absmiddle" src="'+adminface+'" id="myface" height="38" width="38"></div></td>'; s3+='<td>'; s3+=' <div align="left" style="line-height:20px" class="topzhu">您好,'+adminname+'('+adminuser+')<br>部门:'+admindeptname+' 职位:'+adminranking+'</div>'; s3+='</td>'; s3+='<td style="padding-left:20px" align="center">'; s3+='</td>'; s3+='</tr></table>'; s1= '<table id="main_top" style="position:absolute;z-index:8;left:0px;top:0px;" class="topzhu" height="60" width="100%" border="0" cellspacing="0" cellpadding="0"><tr>'; s1+='<td align="left">'+s2+'</td>'; s1+='<td align="left">'+s3+'</td>'; s1+='<td align="right" id="main_top_right">'+s3+'</td>'; s1+= '</tr></table>'; $('body').append(s1); $('#myface').click(function(){ addtabs('我的头像','system,face','face',{icon:gicons('photo')}); }); function createtop(){ var qiehuanys = function(a){ js.savecookie(QOM+'rockstyle', a.num); location.reload(); }; var toparr= [{ name:'提醒<font id=tixing_count color=red>(0)</font>',icons:gicons('bell'),url:'return gototixingla()' },{ name:'切换样式v',icons:gicons('color_wheel'),url:'return false',menuobj:false,menu:[{ text:'经典样式',num:0,yss:'classic',handler:qiehuanys },{ text:'蓝色经典样式',num:1,yss:'neptune',handler:qiehuanys },'-',{ text:'黑暗墨黑样式',num:2,yss:'access',handler:qiehuanys },{ text:'经典灰色样式',num:3,yss:'gray',handler:qiehuanys }] },{ name:'刷新',icons:gicons('arrow_refresh'),url:'return location.reload();' },{ name:'帮助',icons:gicons('help'),url:'return false'},{name:'退出',icons:gicons('report_go'),url:'?m=login&a=exit' }]; toparr[1].menu[stylebody[0]].icon = gicons('ok'); var s='<div style="height:25px;overflow:hidden;line-height:25px;padding-right:10px"><span class="topzhu" id="index_datetime">2014年12月10日[星期三] 21:58:51</span></div>'; s+='<div align="right"><table height="25" border="0" cellspacing="0" cellpadding="0"><tr>'; for(var i=0;i<toparr.length;i++){ var urls = 'href="javascript:"', urla = toparr[i].url; if(urla.indexOf('return')==0){ urls+=' onclick="'+urla+'"'; }else{ urls = 'href="'+urla+'"'; } s+='<td width="18" nowrap align="left"><div style="height:16px;overflow:hidden"><img src="'+toparr[i].icons+'" height="16" width="16"></div></td><td nowrap><a id="topicons_'+i+'" oi="'+i+'" class="topzhu" '+urls+'>'+toparr[i].name+'</a></td><td width="10" nowrap></td>'; } s+='</tr></table></div>'; $('#main_top_right').html(s); for(var i=0;i<toparr.length;i++){ if(toparr[i].menu){ $('#topicons_'+i+'').click(function(){ var o = $(this), oi= parseInt(o.attr('oi')); if(!toparr[oi].menuobj)toparr[oi].menuobj = Ext.create('Ext.menu.Menu',{items:toparr[oi].menu}); var off = o.offset(); toparr[oi].menuobj.showAt([off.left, off.top+20]); }); } } } createtop(); function nowdatetime(){ var dt=js.serverdt('Y年m月d日[星期W] H:i:s'); $('#index_datetime').html(dt); setTimeout(function(){nowdatetime()},1000); } nowdatetime(); $(get('index_menu-body')).find('div:eq(0)').css('overflow-x','hidden'); var loadcitis = 0, loadtime = 0; function gettixing(){ var url = js.getajaxurl('gettixing','home','index', {loadici:loadcitis,loadtime:loadtime}); loadcitis++; $.get(url, function(da){ var a = js.decode(da); if(a.str)showtixing(a.str); $('#tixing_count').html('('+a.count+')'); loadtime = a.time; }); setTimeout(gettixing, 60*1000*10); } var cans= winopt({title:'系统提醒',resizable:false,constrainHeader:true,html:'<div style="padding:5px 10px;line-height:20px" id="tixingwin_msgtishi">提醒</div>',autoScroll: true,opacity:0,maximizable:false,icon:gicons('bell'),collapsible:false,width:300,height:180,x:winWb()-305,y:winHb()-185,listeners:{ beforeclose:function(a){ a.animate({ duration: 500, to:{ opacity:0 } }); setTimeout(function(){a.hide()},500); return false; } }}); var tixingwin = Ext.create('Ext.Window', cans); function showtixing(str){ tixingwin.show(); $('#tixingwin_msgtishi').html(str); tixingwin.animate({ duration: 1000, to: { opacity:1 },from: { opacity:0 } }); return false; } setTimeout(gettixing, 5000); } function gototixingla(){ addtabs('提醒信息','person,todo','todo',{icon:gicons('bell')}); return false; };